Coding Issues in AspectJ

نویسندگان

  • Brian de Alwis
  • Stephan Gudmundson
  • Greg Smolyn
  • Gregor Kiczales
چکیده

AOP [1] has been proposed as a way to write programs that elegantly implement crosscutting concerns. This paper presents initial results of an exploration into whether this is true for AspectJ [2]. During this this exploration we have written several small and medium scale systems using AspectJ. Writing elegant code requires good implementation structure. This paper presents some of the more interesting coding style decisions we encountered. We present different approaches to implementing several crosscutting concerns and comment on the relative strengths and weaknesses of each approach. The purpose of the paper is to share our practical experience of using an AOP language to give workshop participants a sense of what it is like to use AOP and in particular the design issues one faces when trying to write elegant code with AspectJ. We offer this information to support a well-grounded discussion of the strengths and weaknesses of AOP, and the challenges facing AOP researchers. The paper assumes that the reader can read Java programs, and has basic familiarity with AOP.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Addressing Practical Software Development Issues in AspectJ with a Pointcut Interface

In this paper, we consider the problems of large-scale systems, team development, and maintenance in the context of AspectJ[3] programming. To our knowledge, these topics have not been discussed in any detail in other studies. We propose a new kind of interface between aspects and base code, explain how it is used by aspects, and then discuss the expected benefits in the context of realistic so...

متن کامل

A Lightweight and Extensible AspectJ Implementation

Extending AspectJ to experiment with new language features can be cumbersome, even with an extensible implementation. Often, a language designer only needs a rapid prototyping environment, but has to deal with a full compiler infrastructure, and must address low-level implementation issues. This work completes a lightweight extensible implementation of AspectJ with a declarative assimilation la...

متن کامل

Comparative study of the Pros and Cons of Programming languages Java, Scala, C++, Haskell, VB .NET, AspectJ, Perl, Ruby, PHP & Scheme - a Team 11 COMP6411-S10 Term Report

With the advent of numerous languages it is difficult to realize the edge of one language in a particular scope over another one. We are making an effort, realizing these few issues and comparing some main stream languages like Java, Scala, C++, Haskell, VB .NET, AspectJ, Perl, Ruby, PHP and Scheme keeping in mind some core issues in program development. General terms languages

متن کامل

Refactoring and Code Generation Tools for AspectJ

Code generation and refactoring tools have been quite useful for developing objectoriented applications [4, 2]. They increase development productivity by automating tedious, repetitive, and error-prone tasks. By reducing the number of programming errors, they also help to improve software quality. Based on our experience developing AspectJ [5] applications, we believe that aspect-aware code gen...

متن کامل

Issues on Observing Aspect Effects from Expressive Pointcuts

This paper discusses issues on interactions of aspects with expressive pointcuts. Since expressive pointcuts specify join points based on the results of program analysis, they should be carefully designed in order to analyze effects of aspects and their precedence correctly. We show examples in which aspects with expressive pointcuts interact, and point out the required properties to those poin...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000